package com.gusto.engine.evaluation.service;

import java.util.List;

import com.gusto.engine.evaluation.RealEvaluation;

/**
 * <p>Service used to evaluate an algorithm:<br/>
 * <ul>
 * 	<li>Get a list of ratings not used by the algorithm</li>
 * 	<li>Calculate the prediction for those ratings</li>
 * 	<li>Formula that compares those ratings, and gives a performance measure</li>
 * </ul>
 * Formulas are RMSE, MAE, etc. The most used is RMSE.</p>
 * 
 * @author amokrane.belloui@gmail.com
 * 
 */
public interface EvaluationService {
	
	public void start(); 
	public List<RealEvaluation> getData();
	public void addEvaluation(RealEvaluation real, Double prediction);
	public void finish();
	
	public Long getTotal();
	public Long getCalculated();
}
